package org.vacula.base;

public class AN2C {

	private static final String EMPTY = "";

	private static final String W0 = "нуль";
	private static final String W1 = "один";
	private static final String W1T = "одна";
	private static final String W2 = "два";
	private static final String W3 = "три";
	private static final String W4 = "чотири";
	private static final String W5 = "п'ять";
	private static final String W6 = "шість";
	private static final String W7 = "сім";
	private static final String W8 = "вісім";
	private static final String W9 = "дев'ять";

	private static final String W10 = "десять";
	private static final String W11 = "одинадцять";
	private static final String W12 = "дванадцять";
	private static final String W13 = "тринадцять";
	private static final String W14 = "чотирнадцять";
	private static final String W15 = "п'ятнадцять";
	private static final String W16 = "шістнадцять";
	private static final String W17 = "сімнадцять";
	private static final String W18 = "вісімнадцять";
	private static final String W19 = "дев'ятнадцять";

	private static final String W20 = "двадцять";
	private static final String W30 = "тридцять";
	private static final String W40 = "сорок";
	private static final String W50 = "п'ятдесят";
	private static final String W60 = "шістдесят";
	private static final String W70 = "сімдесят";
	private static final String W80 = "вісімдесят";
	private static final String W90 = "дев'яносто";

	private static final String W100 = "сто";
	private static final String W200 = "двісті";
	private static final String W300 = "триста";
	private static final String W400 = "чотириста";
	private static final String W500 = "п'ятсот";
	private static final String W600 = "шістсот";
	private static final String W700 = "сімсот";
	private static final String W800 = "вісімсот";
	private static final String W900 = "дев'ятсот";

	private static final String W10n3 = "тисяча";
	private static final String W10n6 = "мільйон";
	private static final String W10n9 = "мільярд";
	private static final String W10n12 = "трильйон";
	private static final String W10n15 = "квадрильйон";
	private static final String W10n18 = "квінтильйон";
	private static final String W10n21 = "секстильйон";
	private static final String W10n24 = "септильйон";
	private static final String W10n27 = "октильйон";
	private static final String W10n30 = "нонильйон";
	private static final String W10n33 = "децильйон";
	private static final String W10n36 = "ундецильйон";
	private static final String W10n39 = "дуодецильйон";
	private static final String W10n42 = "тредецильйон";
	private static final String W10n45 = "кваттуордецильйон";
	private static final String W10n48 = "квиндецильцон";
	private static final String W10n51 = "седецильйон";
	private static final String W10n54 = "септедецильйон";
	private static final String W10n57 = "дуодевигинтильйон";
	private static final String W10n60 = "ундевигинтильйон";
	private static final String W10n63 = "вигинтильйон";

	private static final String ONE [] = {W0, W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, W16, W17, W18, W19, W20};
	
	private static final String TEN [] = {EMPTY, EMPTY, W20, W30, W40, W50, W60, W70, W80, W90};
	
	private static final String HUNDRED [] = {EMPTY, W100, W200, W300, W400, W500, W600, W700, W800, W900};
	
	private static String parse1(int x) {
		return x == 0 ? EMPTY : x < 20 ? ONE[x] : parse1(x % 10);
	}
	
	private static String parse10(int x) {
		return x == 0 ? EMPTY : TEN[x / 10] + parse1(x);
	}

	private static String parse100(int x) {
		return x == 0 ? ONE[0] : HUNDRED[x / 100] + parse10(x % 100);
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		for (int i = 0; i < 1000; i++) {
			String result = parse100(i);
			System.out.println(result);
		}
//		String result = x == 0 ? ONE[0] : parse100(x);
//		System.out.println(result);
	}

}
